﻿# -*- coding: utf-8 -*-

import nltk

sents1 = ['Jean marche', 'Jean aime Marie'] 
sents2 = ['Jean tua Marie avec une corde'] 
sents3 = ['Jean tua Marie avec une corde dans la cuisine'] 




###############################################################
##
## Version 2.0.* de NLTK
##
###############################################################

#     NOTE: Le trait sémantique doit être écrit en majuscule "SEM" dans la grammaire

results1 = nltk.batch_interpret(sents2, 'file:sr_sem02appnew.fcfg')
#results2 = nltk.batch_interpret(sents2, 'file:sr_sem02appnew.fcfg')
#results3 = nltk.batch_interpret(sents3, 'file:sr_sem03appnew.fcfg')
#results4 = nltk.batch_interpret(sents3, 'file:sr_sem04new.fcfg')

#     A) Toutes les analyses de la 1ère phrase sont dans:
print "\nA) Toutes les analyses de la 1ère phrase sont dans:\n"
print results1[0]

#     B) La première analyse est dans:

print "\nB) La première analyse est dans:\n"
print results1[0][0]

#     C) l'arbre syntaxique est dans:

print "\nC) l'arbre syntaxique est dans:\n"
print results1[0][0][0]

#     D) l'expression sémantique est dans:

print "\nD) l'expression sémantique est dans:\n"
print results1[0][0][1]

#     E) on peut également récupérer l'expression sémantique de la phrase en
#        passant par l'arbre syntaxique

print "\nE) on peut également récupérer l'expression sémantique de la phrase en passant par l'arbre syntaxique:\n"
print results1[0][0][0].node['SEM']

#     F) récupérer la chaîne de caractères contenant l'expression sémantique (en
#         partant de (D) ou de (E)

#results1[0][0][1].str()
#results2[0][0][1].str()
#results3[0][0][1].str()
#results4[0][0][1].str()

#for allresults in nltk.batch_interpret(sents2, 'file:sr_sem02appnew.fcfg'):
#	for (synrep, semrep) in allresults: 
#		print synrep
#		print semrep
#		synrep.draw()

